// pages/test/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    msg:'hello world',
    score:666,
    human:[
      {name:'杨敏大王',score:999,skills:['宝宝肚肚打雷了']},
      {name:'sb',score:100,skills:['666']}
    ],
    isShow:false,
    isActive:true,
    actIdx:0,
    cityName:'成都',
    catList:[]
  },
  handelShow(){
    this.setData({
      isShow:!this.data.isShow
    })
    console.log(this.data.isShow);
  },
  handelActive(){
    this.setData({
      isActive:!this.data.isActive
    })
  },
  handelTab(ev){
    // ev触发本次事件所产生的事件对象
    console.log(ev);
    // 方法一：
    // let idx = ev.currentTarget.dataset.idx
    // let num = ev.currentTarget.dataset.num
    // 方法二：解构赋值
    let {idx,num} = ev.currentTarget.dataset
    console.log(idx,num)
    this.setData({
      actIdx:idx
    })
  },
  handelNewpage(){
    // 每次调用会向页面栈推入一个页面
    // 支持传参
    // [A页面，B页面，...]
    wx.navigateTo({
      url: '/pages/detail/index',
    })
  },
  handelMine(){
    wx.switchTab({
      url: '/pages/mine/index',
    })
  },
  handelRedirect(){
    // 会替换页面栈中原本的页面
    // [B页面]
    wx.redirectTo({
      url: '/pages/detail/index',
    })
  },
  // 强制刷新页面
  handelRelaunch(){
    wx.reLaunch({
      url: '/pages/detail/index',
    })
  },
  // 打开页面并且传递参数
  handelParam(){
    // 方法一
    // wx.navigateTo({
    //   url: '/pages/detail/index?id=123&name=杨敏大王&age=999',
    // })
    // 方法二
    let product = {
      name:'商品名称',
      price:100,
      sub_title:'商品介绍'
    }
    let param = ''
    for(let attr in product)
    {
      param += `${attr}=${product[attr]}&`
    }
    wx.navigateTo({
      url: '/pages/detail/index?'+param,
    })
  },
  handelCity(){
    wx.navigateTo({
      url: '/pages/city/index',
      events:{
        // 方法一 内部this指向有问题
        // changeCity(data){
        //   console.log('接受city逆向参数',data)
        //   this.setData({
        //     cityName:data.name//this 指向错误，使用箭头函数只与所处环境有关
        //   })
        // 方法二 箭头函数修正this指向
        changeCity:(data)=>{
          console.log('接受city逆向参数',data)
          this.setData({
            cityName:data.name
          })
        }
      }
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 方法一：直接调用wxwx.request
    wx.request({
      url: 'http://localhost:3000/category',
      success:(res)=>{
        console.log('获取category数据',res.data);
        this.setData({
          catList:res.data
        })
      }
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})